package com.atguigu.hello

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

/**
 * Author atguigu
 * Date 2020/10/26 16:34
 */
object WordCount {
    def main(args: Array[String]): Unit = {
        // 1. 创建SparkContext对象
//        val conf = new SparkConf().setMaster("local[2]").setAppName("WordCount")
        val conf = new SparkConf().setAppName("WordCount")
        val sc = new SparkContext(conf)
//        sc.setLogLevel("error")
        // 2. 获取一个RDD
        val lineRDD: RDD[String] = sc.textFile(args(0))
        
        // 3. 对RDD做各种转换
        val workCountRDD: RDD[(String, Int)] = lineRDD.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ + _)
        // 4. 有一个行动算子
        workCountRDD.collect().foreach(println)
        
        // 5. 关闭SparkContext
        sc.stop()
        // 更新
        // 更新
        // 更新
        // 老师
    }
}
